using System;
using System.Collections.Generic;
using System.Text;

namespace EditWebSite.LocalObjects
{
    public class Tabella
    {
        private string _Nome;
        private string _Descrizione;
        private Colonna[] _Col;
        private Indice[] _indici;

        private int _Identificativo;
        private string _Alias = string.Empty;

        public string Alias
        {
            get { return _Alias; }
            set { _Alias = value; }
        }

        public int Identificativo
        {
            get { return _Identificativo; }
            set { _Identificativo = value; }
        }


        public Indice[] Indici
        {
            get { return _indici; }
            set { _indici = value; }
        }

        public Colonna[] Colonne
        {
            get { return _Col; }
            set { _Col = value; }
        }

        public string Descrizione
        {
            get { return _Descrizione; }
            set { _Descrizione = value; }
        }

        public string Nome
        {
            get { return _Nome; }
            set { _Nome = value; }
        }

        public string Visualizzazione
        {
            get
            {
                if (_Alias.Equals(string.Empty))
                    return _Nome;
                return _Alias;
            }
        }

        public string DescrizioneFormattata
        {
            get { return _Nome.PadRight(15).Substring(0, 15) + " " + _Descrizione; }
        }

        public Tabella Self
        {
            get { return this; }
        }

        public override string ToString()
        {
            return _Nome + ";" + _Descrizione + ";" + (_Col != null ? _Col.Length.ToString() : "0");
        }
    }

    public class Vista : Tabella
    {
        private string _TabellaPrincipale;

        public string TabellaPrincipale
        {
            get { return _TabellaPrincipale; }
            set { _TabellaPrincipale = value; }
        }

    }
}
